-
Notifications
You must be signed in to change notification settings - Fork 40
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update Lightning packaging to follow the PEP 517/518/621/660 standards #832
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #832 +/- ##
===========================================
- Coverage 97.73% 83.50% -14.23%
===========================================
Files 205 32 -173
Lines 26419 2298 -24121
Branches 608 0 -608
===========================================
- Hits 25820 1919 -23901
+ Misses 599 379 -220 ☔ View full report in Codecov by Sentry. |
Co-authored-by: Vincent Michaud-Rioux <[email protected]>
Co-authored-by: Vincent Michaud-Rioux <[email protected]>
…LaneAI/pennylane-lightning into update/Lightning_packaging
Co-authored-by: Vincent Michaud-Rioux <[email protected]>
Co-authored-by: Vincent Michaud-Rioux <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thanks @AmintorDusko .
8079165
to
f9497f2
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a quick comment or two, but happy to approve this -- great job!
#832) **Context:** This PR updates the Lightning Python packaging to the latest standard. This allows us to eliminate pip~=22.0 from requirements*.txt, comply with up-to-date build practices, and fix the inability to build Lightning in place on newer Python environments. **Description of the Change:** Most of the building configuration was moved to the ``pyproject.toml`` file. We kept the ``setup.py`` file working with setuptools in part of the configuration pre-processing. A script with some pre-pre-processing was added to configure the ``pyproject.toml`` file for each backend. **Benefits:** Follow the new standard. Allows the use of more up-to-date pip versions. There will be no impact on the final user, as the installation of the wheels is unaffected by the change in packaging. **Possible Drawbacks:** When building and installing Lightning backends from scratch, we need to run the configuration script. If not the installation will default to ``lightning.qubit``, or the last configuration. **Related GitHub Issues:** [sc-65227] --------- Co-authored-by: ringo-but-quantum <[email protected]> Co-authored-by: Lee James O'Riordan <[email protected]> Co-authored-by: Vincent Michaud-Rioux <[email protected]>
Context: This PR updates the Lightning Python packaging to the latest standard. This allows us to eliminate pip~=22.0 from requirements*.txt, comply with up-to-date build practices, and fix the inability to build Lightning in place on newer Python environments.
Description of the Change: Most of the building configuration was moved to the
pyproject.toml
file. We kept thesetup.py
file working with setuptools in part of the configuration pre-processing. A script with some pre-pre-processing was added to configure thepyproject.toml
file for each backend.Benefits: Follow the new standard. Allows the use of more up-to-date pip versions. There will be no impact on the final user, as the installation of the wheels is unaffected by the change in packaging.
Possible Drawbacks: When building and installing Lightning backends from scratch, we need to run the configuration script. If not the installation will default to
lightning.qubit
, or the last configuration.Related GitHub Issues:
[sc-65227]